項目25 キーワード専用引数と位置専用引数で明確さを高める
IMO:使い方を強制させられる(実装者の意図に従わせられる)
キーワード引数はオプションであるため、関数の呼び出し元に明確化のためのキーワード引数の使用を強制することができない
例:2つのブール値引数、位置を混同しやすい
キーワード専用引数にする
引数リストの中の*記号が、位置引数の終わりとキーワード専用引数の始まりを示します。
位置またはキーワード引数の名前を変えたい
キーワードを使った呼び出し元でおかしくなる
関数の明示的インタフェースにするつもりがなかった
引数リストの/記号で位置専用引数の終わりを示します。
位置引数 name と name をキーとして持つ **kwds の間に潜在的な衝突がある関数定義
位置専用引数であれば、その名前を **kwds の中で使用しても、曖昧にならないということです。
Pythonチュートリアルの 4.8.3.5. 要約 もわかりやすい